package utils.nodos;

import java.util.Vector;

import utils.enumerados.ClaseTipos;


public class NodoRegistro implements INodoEstructura{

	private ClaseTipos tipo;
	private Vector<String> nombres;
	private Vector<INodoEstructura> tipos;
	private int offset;
	
	public NodoRegistro(){
		nombres = new Vector<String>();
		tipos = new Vector<INodoEstructura>();
		offset = 0;
	}
	
	public boolean anade(String key, INodoEstructura tipo) {
		if(!nombres.contains(key)){
			nombres.add(key);
			tipos.add(tipo);
			offset += tipo.getOffset();
			return true;
		}
		else 
			return false;
	}

	public int getOffset() {
		return offset;
	}

	public ClaseTipos getTipo() {
		return tipo;
	}
	public INodoEstructura getEstructuraCampo(String s){
		INodoEstructura nodo = null;
		int i = nombres.indexOf(s);
		nodo = tipos.elementAt(i);
		return nodo;
	}
	public boolean pertenece(String key, ClaseTipos tipo) {
		// TODO Auto-generated method stub
		return false;
	}
	public int posicionCampo(String campo){
		return nombres.indexOf(campo);
	}
	public boolean perteneceCampo(String key) {
		return nombres.contains(key);
	}

	public void setTipo(ClaseTipos t) {
		tipo = t;
		
	}

}
